b1b3aa54ada7c21fd2037b9807bd2b3c36e1d85b,photopickerdemo/src/main/java/me/iwf/PhotoPickerDemo/MainActivity.java,MainActivity,checkPermission,#RequestCode#,140
Before Change
} else {
ActivityCompat.requestPermissions(this,
new String[]{Manifest.permission.READ_EXTERNAL_STORAGE},
requestCode.ordinal());
}
} else {
After Change
private void checkPermission(@NonNull RequestCode requestCode) {
int readStoragePermissionState = ContextCompat.checkSelfPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE);
int cameraPermissionState = ContextCompat.checkSelfPermission(this, Manifest.permission.CAMERA);
boolean readStoragePermissionGranted = readStoragePermissionState != PackageManager.PERMISSION_GRANTED;
boolean cameraPermissionGranted = cameraPermissionState != PackageManager.PERMISSION_GRANTED;
if (readStoragePermissionGranted || cameraPermissionGranted) {
// Should we show an explanation?
if (ActivityCompat.shouldShowRequestPermissionRationale(this,
Manifest.permission.READ_EXTERNAL_STORAGE)
|| ActivityCompat.shouldShowRequestPermissionRationale(this,
Manifest.permission.CAMERA)) {
// Show an expanation to the user *asynchronously* -- don't block
// this thread waiting for the user's response! After the user
// sees the explanation, try again to request the permission.
} else {
String[] permissions;
if (readStoragePermissionGranted && cameraPermissionGranted) {
permissions = new String[]{Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.CAMERA };
} else {
permissions = new String[] {
readStoragePermissionGranted ? Manifest.permission.READ_EXTERNAL_STORAGE
: Manifest.permission.CAMERA
};
}
ActivityCompat.requestPermissions(this,
permissions,
requestCode.ordinal());
}
} else {